DataSource for Entity Framework for WPF/Silverlight
LiveAggregate<TSource>(View<TSource>,Expression<Func<TSource,TSource,TSource>>,Expression<Func<TSource,TSource,TSource>>,Expression<Func<TSource,TSource,Boolean>>) メソッド

C1.LiveLinq 名前空間 > LiveViewExtensions クラス > LiveAggregate メソッド : LiveAggregate<TSource>(View<TSource>,Expression<Func<TSource,TSource,TSource>>,Expression<Func<TSource,TSource,TSource>>,Expression<Func<TSource,TSource,Boolean>>) メソッド
source内の要素の型。
集計対象のビュー。
ソースビューに追加される各要素に対して呼び出されるアキュムレータ関数。
要素がソースビューから削除されるときに、変更された累積値を取得するために 累積値と要素に適用される関数。
要素がソースビューから削除されるときに funcRemoveを適用するかどうかを決定するために使用される関数。 適用しない場合、累積値は削除の影響を受けません。
ビューに対してアキュムレータ関数を適用します。
シンタックス
'宣言
 
<System.Runtime.CompilerServices.ExtensionAttribute()>
Public Overloads Shared Function LiveAggregate(Of TSource)( _
   ByVal source As View(Of TSource), _
   ByVal funcAdd As System.Linq.Expressions.Expression(Of Func(Of TSource,TSource,TSource)), _
   ByVal funcRemove As System.Linq.Expressions.Expression(Of Func(Of TSource,TSource,TSource)), _
   ByVal funcRemoveDefined As System.Linq.Expressions.Expression(Of Func(Of TSource,TSource,Boolean)) _
) As AggregationView(Of TSource,TSource)
[System.Runtime.CompilerServices.Extension()]
public static AggregationView<TSource,TSource> LiveAggregate<TSource>( 
   View<TSource> source,
   System.Linq.Expressions.Expression<Func<TSource,TSource,TSource>> funcAdd,
   System.Linq.Expressions.Expression<Func<TSource,TSource,TSource>> funcRemove,
   System.Linq.Expressions.Expression<Func<TSource,TSource,bool>> funcRemoveDefined
)

パラメータ

source
集計対象のビュー。
funcAdd
ソースビューに追加される各要素に対して呼び出されるアキュムレータ関数。
funcRemove
要素がソースビューから削除されるときに、変更された累積値を取得するために 累積値と要素に適用される関数。
funcRemoveDefined
要素がソースビューから削除されるときに funcRemoveを適用するかどうかを決定するために使用される関数。 適用しない場合、累積値は削除の影響を受けません。

型パラメータ

TSource
source内の要素の型。

戻り値の型

最終的なアキュムレータ値を表すビュー。
解説
LiveAggregateの代わりに標準の LINQ クエリー演算子 Aggregateを使用することもできます。 どちらも、ソースで変更が発生すると自動的に再計算が行われるという意味で「ライブ」です。 相違点は、 Aggregateが毎回ソースコレクション全体をループ処理して集計を一から行うのに対して、 LiveAggregateはより高パフォーマンスのアルゴリズムを使用し、値をインクリメンタルに維持して、 実際に変更されたソース項目だけを処理します。
参照

LiveViewExtensions クラス
LiveViewExtensions メンバ
オーバーロード一覧